Host App Integration
This page covers how your mobile widget is packaged, registered, and deployed into the production mobile banking application — including npm packaging, build output, and the submission process.
Unlike web widgets (which use Module Federation and remoteEntry.js) mobile widgets are distributed as npm packages. The mobile banking host app installs your package as a dependency and renders it as an embedded React Native component on the home screen at runtime.
Build
Build a widget for production:
npx nx run <name>:build
The build uses tsup and produces three outputs in dist/:
| Output | Purpose |
|---|---|
index.js | CommonJS bundle (for Metro bundler and Node tooling) |
index.mjs | ESM bundle (for production bundling) |
index.d.ts | TypeScript type declarations |
Build output is written to dist/packages/<folder-name>/.
Submission Process
The mobile and web submission processes follow the same general flow. When your widget is ready for production, follow these steps:
1. Validate
Run type checking and ensure the build succeeds:
npm run typecheck
npm run build
2. Register with the Platform Team
When you are ready to integrate your widget with the Candescent platform, reach out to the Candescent technical support team with the following details:
| Value | Example |
|---|---|
| Package name | @acme-extensions/my-widget |
| Version | 0.0.1 |
| Exported component | MyWidget |
| Integration type | widget |
| Build output | Share the output folder from the build step via an uploaded URL or zip file |
widget— a component embedded in the existing home screen of the mobile banking app
The platform team registers your widget with the mobile banking host application. Until the registration is complete, the component will not be visible in the production app.
Widget submission through the Developer Console is planned. For now, coordinate directly with the platform team for registration and deployment. See Submissions for reference on the current Aspect submission flow.
Shared Dependencies
Peer and shared dependency versions are documented in the CDX Extensibility Apps README. Align your widget dependencies with those versions.
Do not add runtime dependencies outside the approved list without coordinating with the platform team. Version conflicts between your package and the host app can cause runtime crashes.
Next Steps
- FAQ & Troubleshooting — Common issues and recommendations
- Features — Host App Integration — Packaging for full-screen features